当前位置:首页 > SQL Server

[解决办法] 无法更新数据库,因为数据库是只读的

发表于 2016-01-02 23:26

把SQL数据库部署到服务器上之后,网站在更新数据库的时候报错,提示“无法更新数据库"xxxxx",因为数据库是只读的”,尝试了很多方法之后,终于解决了。以下是我的情况和解决的步骤,希望对你有所帮助。


1. 把数据的mdf文件放在自己定义的一个目录下(如D:\Data\xxx文件夹),这时候网站能正常的读取数据库中的数据,但是更新时报错,即“无法更新数据库,因为数据库是只读的”。通过SQL语句查看数据库,确实是只读的。

select name, is_read_only from sys.databases

解决方法:把数据文件放在SQL Instance安装目录的DATA文件夹下。


2. 这时候我在服务器上,打开VS,然后运行程序。网站是可以正常的读写数据库的。但是当我把网站再放到IIS上的时候,发现根本就找不到数据库了。应该是权限问题。

解决方法:右键mdf文件,属性 -> 安全 ,然后添加了三个对象进来:Everyone,IUSER,IIS_USERS,都授予写入的权限。具体不知道是哪个权限起作用了,这时候IIS上的网站已经能正常读写数据库了。


本文章由创风网原创,转载请注明出处:http://www.windite.com/article/details/q7gzov12